A lo largo de este documento vamos a llevar a cabo una sencilla revisión de algunos elementos estudiados durante estas semanas.

Para ello, vamos a dividir el trabajo en tres secciones.

  1. Expresiones regulares

Identificaremos en internet dos páginas donde se discuta sobre el uso de expresiones regulares, analizando cual de las dos es más completa

  1. Markdown

Realizaremos el mismo análisis que en la sección anterior, pero con páginas relacionadas con Markdown.

  1. Estudio descriptivo de Swiss

En esta última sección trabajaremos con uno de los datasets de RStudio: Swiss.



Expresiones regulares

Las expresiones regulares, también conocidas como regex, son una herramienta para la manipulación de cadenas de texto (strings). Es importante conocer y controlar el uso de esta herramienta, por lo que a continuación vamos a analizar y comparar dos páginas que hablan sobre las principales expresiones regulares

Recurso 1

Vamos a comenzar revisando este documento publicado en internet, que ha sido realizado también con Rmarkdown.

Tras una breve definición, abre una amplia sección de teoría, donde se estudian distintos aspectos de las expresiones regulares:

  • Cuantificadores
  • Alternación
  • Agrupación
  • Barra invertida
  • Signo de admiración
  • Metacaracteres especiales

Sin embargo, antes de desarrollar estos puntos, el autor define el concepto cláusula de Kleene:

“Es una operación que se aplica sobre un conjunto de cadenas de caracteres o un conjunto de símbolos o caracteres, y representa el conjunto de las cadenas que se pueden formar tomando cualquier número de cadenas del conjunto inicial, posiblemente con repeticiones, y concatenándolas entre sí.”

Esta definición puede ser útil para aquellos usuarios que no tengan conocimientos previos avanzados en matemáticas y/o computación.

Después comienza a revisar cada uno de los aspectos enumerados anteriormente. Proporciona los casos más comunes dentro de cada categoría, describiendo su uso.

Como esta página hace referencia específicamente a las expresiones regulares en RStudio, tiene una sección llamada implementación en R. Aquí comenta los comandos más utilizados para trabajar con cadenas de texto:

Detección del patrón División de un string usando un patrón Localización del patrón Extrae patrón
grep strsplit str_locate regmatches
grepl str_locate_all regexpr
str_detect gregexpr
str_extract
str_extract_all

Muchos de estos comandos están recogidos en la librería stringr.

Por último, recoge una sección llamada reemplazar patrón. Quizás hubiera sido más lógico incluir esta sección dentro de la anterior.

Debemos señalar que esta página hace referencia a los comandos utilizados en R, no en Rstudio.

Recurso 2

Esta segunda página también está dedicada al estudio de las expresiones regulares. Sin embargo, el enfoque y el alcance es bastante distinto. Está dividida en tres partes:

  • Expresiones regulares
  • Flags
  • Expresiones regulares habituales

La primera sección, tal y como su nombre indica, trata de recoger las principales expresiones regulares. Aunque la selección no es muy amplia, cada expresión viene acompañada de una pequeña explicación sobre su uso, lo que facilita su comprensión

Pero quizás, lo más interesante de este recurso es la sección de expresiones regulares habituales. Proporcionan una breve lista con las expresiones utilizadas de forma recurrente. Aunque algunas son mejorables, pueden llegar a ser de gran utilidad.

Esta página no habla sobre comandos relacionados con expresiones regulares.


¿Conclusión final?

Ambos recursos tratan el tema de una forma resumida y sutil. Recogen las principales expresiones, la primera página incluye los comandos utilizados en R, la segunda las expresiones regulares más habituales. Sin embargo, en ninguna de las dos se proporciona un ejemplo para cada operador.

En resumen, aunque recogen información bastante útil y de forma resumida, no ofrecen mucho más que las conocidas Cheat sheets. A continuación podemos ver una para RStudio:

Cheat Sheet Regex

Cheat Sheet Regex



Markdown

Markdown es un lenguaje que facilita la aplicación de formato a un texto. Es muy conocido por tener diversas ventajas como1:

  1. Es un lenguaje universal.
  2. Se puede utilizar como base para cualquier otro formato como PDF, HTML…
  3. Al ser ficheros planos, el control de versiones (Git) te deja ver fácilmente los cambios

Al igual que en la sección anterior, vamos a analizar dos páginas donde hacen una rápida revisión por los recursos más comunes en Markdown.

Recurso 1

La primera página recoge la información básica para conocer el uso de Markdown.

Trata la introducción de cabeceras, viñetas, código, ecuaciones… e incluso elementos menos comunes como el uso de color en el texto. Lo hace de una forma resumida pero suficiente para su compresión. Proporciona información no tan básica, pero útil, sobre algunas de estas formas de sintáxis. Por ejemplo, muestra como alinear los elementos de una tabla, realizar un diagrama o incluir un video dentro de nuestro Markdown.

Al final tiene una sección de integración en R, donde se habla sobre el uso de este tipo de documentos dentro del entorno R.

Algo muy positivo de este recurso es que incluye un pequeño apartado donde recoge las limitaciones de Markdown, así como posibles soluciones.

Recurso 2

Esta web también analiza la sintáxis dentro de un Markdown.

Al igual que en recurso anterior, estudia elementos fundamentales como tablas, listas o cabeceras. Sin embargo, faltan algunos muy utilizados como el tachado o la formación de ecuaciones como la de la fuerza de la gravedad:

\[F=G\frac{(m_1*m_2)}{d^2}\]


¿Conclusión final?

El primer recurso es bastante más completo que el segundo. Sin embargo, el diseño del segundo es más limpio, lo cual facilita en parte su comprensión.

Para concluir este apartado, podemos decir que hay muchísimos recursos para aprender a utilizar Markdown. De hecho, esta sobreinformación probablemente sea el principal obstáculo para el aprendizaje.

Al igual que en la sección anterior, podemos contar con Cheat sheets que nos facilitan la tarea, al resumir en poco espacio la información más esencial:

Cheat Sheet Markdown

Cheat Sheet Markdown



Estudio descriptivo de Swiss

En esta sección vamos a realizar un estudio descriptivo de Swiss. Este dataset mide ciertos indicadores socioeconómicos para cada una de las 47 provincias francófonas de Suiza en 1888 2.

Los indicadores estudian:

  • Fertilidad (Ig). Medida de fertilidad estandarizada común
  • Agricultura (%). Hombres dedicados a la agricultura
  • Examen militar (%). Reclutas que recibieron la calificación más alta en el examen del ejército
  • Educación (%). Eduación más allá de la escuela primaria para reclutas
  • Catolicismo (%). Católicos, en oposición a protestante
  • Mortalildad infantil. Nacimientos que viven menos de un año.

Formato del dataset

Antes de empezar a analizar más en profundidad este dataframe, es interesante conocer su estructura y componentes.

Para empezar, vemos que Swiss está compuesta por 47 observaciones, dentro de seis variables:

## [1] 47  6

Para hacernos una idea de como es el dataset, aquí podemos ver como son las tres primeras filas:

Fertility Agriculture Examination Education Catholic Infant.Mortality
Courtelary 80.2 17.0 15 12 9.96 22.2
Delemont 83.1 45.1 6 9 84.84 22.2
Franches-Mnt 92.5 39.7 5 5 93.40 20.2

Y por último, antes de entrar a analizar con más profundidad Swiss, vamos a utilizar la función summary para ver un resumen estadístico de las columnas:

Fertility Agriculture Examination Education Catholic Infant.Mortality
Min. :35.00 Min. : 1.20 Min. : 3.00 Min. : 1.00 Min. : 2.150 Min. :10.80
1st Qu.:64.70 1st Qu.:35.90 1st Qu.:12.00 1st Qu.: 6.00 1st Qu.: 5.195 1st Qu.:18.15
Median :70.40 Median :54.10 Median :16.00 Median : 8.00 Median : 15.140 Median :20.00
Mean :70.14 Mean :50.66 Mean :16.49 Mean :10.98 Mean : 41.144 Mean :19.94
3rd Qu.:78.45 3rd Qu.:67.65 3rd Qu.:22.00 3rd Qu.:12.00 3rd Qu.: 93.125 3rd Qu.:21.70
Max. :92.50 Max. :89.70 Max. :37.00 Max. :53.00 Max. :100.000 Max. :26.60


Análisis descriptivo

En este apartado vamos a realizar un análisis descriptivo de Swiss Para ello, vamos a estudiar la relación entre las distintas variables del dataset, observando si existe algún tipo de relación entre ellas.

Correlación de las variables

Aquí podemos ver que no existe ningúna correlación pronunciada entre las variables del dataset. Sin embargo, se observa una ligera relación entre las siguientes variables

  1. Fertility - Examination
  2. Fertility - Education
  3. Agriculture - Examination
  4. Agriculture - Education
  5. Examination - Education

Aunque son cinco relaciones distintas, estamos hablando solamente de cuatro variables. Dos de ellas (Examination y Educacion) están presentes en las cinco relaciones. Con esta información, vamos a proceder a analizar estas correlaciones .

Este gráfico dinámico nos muestra la relación entre Education y Examination. La linea ascendente indica una relación positiva entre ambas variables, lo cual tiene lógica, ya que a mayor nivel de educación, es más probable que obtenga una calificación alta en el examen del ejército. Por otro lado, en lo que se refiere a la relación de la Fertilidad con estas dos variables, vemos que existe una relación negativa con ambas. La Fertilidad será mayor cuanto menores sean los otros dos indicadores.

Aquí podemos ver que con Agriculture ocurre exactamente lo mismo que con Fertility: existe una correlación negativa entre la variable y Education y Examination. Sin embargo, podemos observar que existe una relación un poco más fuerte con esta última.

Como conclusión, vemos que existe una relación entre cuatro de las variables incluidas en nuestro dataset. Aunque dicha relación no es muy fuerte, destacan sobre el resto Education y Examination con una correlación positiva.

X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
186 Switzerland 2015 32.3 3.2 7.8 12.5 16.8 22.6 40.2 25.2


Indice Mundial de la Felicidad

Una vez revisados los datos de Suiza en 1888 sería interesante conocer la situación actual.

Hemos analizado varios indicadores socioeconómicos del país. Estos indicadores de bienestar se traducen al grado de felicidad de la población: a mejores condiciones socioeconómicas, cabe pensar que mayor será el nivel de satisfacción o felicidad.

Por ello, hemos obtenido los datos del informe mundial sobre la felicidad en 2019, realizado por Naciones Unidas.

Países Ranking.Felicidad Index.Felicidad
50 Finlandia 1 7.769
43 Dinamarca 2 7.600
108 Noruega 3 7.554
69 Islandia 4 7.494
107 Holanda 5 7.488
35 Suiza 6 7.480

Podemos ver que Suiza es el sexto país más feliz del mundo en 2019. Sin duda, es un índicador excelente sobre el bienestar del país. Todo esto indica que, desde 1888 que fueron obtenidos los datos de Swiss, el país ha tenido una evolución social muy positiva.

Hablamos de más de 130 años de diferencia entre ambos estudios, por lo que es complicado sacar una conclusión definitiva. Han ocurrido cientos de acontecimientos que han influido en la evolución del país, pero, sea como fuere, actualmente el Suiza tiene un nivel de bienestar envidiable.



Conclusiones

A lo largo de este documento hemos revisado dos recursos de expresiones regulares y Markdown, discutiendo brevemente los fallos y posibles mejoras de ambos. Por otro lado, en la anterior sección se ha realizado un análisis descriptivo sobre el dataset Swiss, analizando sus variables a través de las herramientas que proporciona RStudio.

En su realización hemos intentado utilizar los principales elementos de RMarkdown y algunos de los paquetes de RStudio, y así demostrar su uso y conocimiento.